Microsoft Windows Presentation Foundation (WPF) is Microsoft's presentation subsystem for .NET 3.0, which is a key part of the Microsoft Windows Vista operating system. In WPF, User Interface (UI) creation is done in conjunction with a new declarative markup language called extensible application markup language (XAML). XAML, combined with WPF, allows creation of an expression that controls the appearance of document layouts and controls how objects are bound to data regardless of where the application will be used.
In WPF, a “binding” is used to bind a value of a target dependency property on a target dependency object to one or more dynamic property values on other Common Language Runtime (CLR) objects. This is traditionally accomplished within XAML by using one or more native binding or multi-binding objects. These native binding objects are implemented through markup extension classes. Traditionally specialized code must be written to handle changes in the dependency objects and to implement custom value converters to evaluate the expressions. Writing the specialized code requires that a developer implement custom value converters to evaluate expressions, thereby increasing design time.